package Demo14;

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
//        ArrayList的创建
        ArrayList<String>  arrayList =new ArrayList<>();
//        给ArrayList添加元素
        arrayList.add("a1");
        arrayList.add("a2");
        arrayList.add("a3");
        arrayList.add("a4");
        arrayList.add("a5");
        arrayList.add("a6");
        arrayList.add("a7");
        arrayList.add("a8");
//        遍历
        System.out.println(arrayList);//[a1, a2, a3, a4, a5, a6, a7, a8]
//        获取ArrayList的大小
        System.out.println(arrayList.size());//8
//        arrayList尾部添加一个arrayList
        arrayList.addAll(arrayList);
        System.out.println(arrayList);//[a1, a2, a3, a4, a5, a6, a7, a8, a1, a2, a3, a4, a5, a6, a7, a8]
        //获取第一个元素
        String s=arrayList.get(1);
        System.out.println(s);//a2
        //查看a2的索引号
        int i=arrayList.indexOf("a3");
        System.out.println(i);//2
//        判断arrayList是否为空
        boolean b=arrayList.isEmpty();
        System.out.println(b);//false
        //        移除元素
        System.out.println(arrayList.remove(1));//a2
        System.out.println(arrayList);//[a1, a3, a4, a5, a6, a7, a8, a1, a2, a3, a4, a5, a6, a7, a8]
//        arrayList清空
//        arrayList.clear();//[]
        System.out.println(arrayList);
//        ArrayList的set方法
        String oldvalue=arrayList.set(2,"小艾");
        System.out.println(oldvalue);//a4
        System.out.println(arrayList);//[a1, a3, 小艾, a5, a6, a7, a8, a1, a2, a3, a4, a5, a6, a7, a8]

        //ArrayList转换成数组
        Object[] objects=arrayList.toArray();
        System.out.println(objects);//[Ljava.lang.Object;@21a06946
        System.out.println(arrayList.toArray(objects));//[Ljava.lang.Object;@21a06946


//        ArrayList的遍历操作
//        1.普通的for循环遍历
        for (int j = 0; j <arrayList.size() ; j++) {
            System.out.print(arrayList.get(i)+" "); //小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾 小艾
        }

//        2. 增强for循环
        for (String str:arrayList){
            System.out.print(str);//a1a3小艾a5a6a7a8a1a2a3a4a5a6a7a8
        }

//        3. 使用迭代器遍历
//        while (iterator.hasNext){
//
//        }

    }
}
